import { axios } from "@/utils/request";
import { baseURL } from "@/config/api.config";

const api = {
  org: 'org',
  orgAll: 'org/all',
  upOrg: 'org/up',
  downOrg: 'org/down',
  user: 'user',
  users: 'user/list',
  userAll: 'user/all',
  userQuit: 'user/quit',
  userPsd: 'user/reset-psd',
  userResetPwd: 'user/resetPwd',
  userImport: 'user/import',
  userImportConfirm: 'user/import-access',
  userExport: 'user/export',
  userSort: 'user/sort',
  userMove: 'user/move-org',
  userUnique: 'user/unique',
  userAccess: 'app/user-access',
};

/**
 * 获取所有部门
 */
export function readAllOrg(params) {
  return axios({
    url: api.orgAll,
    params
  })
};

/**
 * 获取所有人员
 */
export function readAllUser(params) {
  return axios({
    url: api.userAll,
    params
  })
};

/**
 * 分页获取人员
 */
export function readUsers(params) {
  return axios({
    url: api.users,
    params
  })
};

/**
 * 创建部门
 */
export function createOrg(data) {
  return axios({
    url: api.org,
    method: 'post',
    data
  })
};

/**
 * 更新部门
 */
export function updateOrg(data) {
  return axios({
    url: api.org,
    method: 'put',
    data
  })
};

/**
 * 删除部门
 */
export function deleteOrg(params) {
  return axios({
    url: api.org,
    method: 'delete',
    params
  })
};

/**
 * 上移部门
 */
export function moveUpOrg(data) {
  return axios({
    url: api.upOrg,
    method: 'put',
    data
  })
};

/**
 * 下移部门
 */
export function moveDownOrg(data) {
  return axios({
    url: api.downOrg,
    method: 'put',
    data
  })
};

/**
 * 创建人员
 */
export function createUser(data) {
  return axios({
    url: api.user,
    method: 'post',
    data
  })
};

/**
 * 更新人员
 */
export function updateUser(data) {
  return axios({
    url: api.user,
    method: 'put',
    data
  })
};

/**
 * 获取人员信息
 */
export function readUser(params) {
  return axios({
    url: api.user,
    method: 'get',
    params
  })
};

/**
 * 删除人员
 */
export function deleteUser(params) {
  return axios({
    url: api.user,
    method: 'delete',
    params
  })
};

/**
 * 离职人员
 */
export function quitUser(data) {
  return axios({
    url: api.userQuit,
    method: 'put',
    data
  })
};

/**
 * 批量重置人员密码
 */
export function resetUserPassword(data) {
  return axios({
    url: api.userPsd,
    method: 'put',
    data
  })
};

/**
 * 重置密码
 */
export function resetPwd(data) {
  return axios({
    url: api.userResetPwd,
    method: 'put',
    data
  })
};

/**
 * 批量导入人员
 */
export function importUsers(params) {
  return axios({
    url: api.userImport,
    method: 'post',
    data: params
  })
}

/**
 * 确认批量导入人员
 * @param {*} data
 */
export function importConfirmUsers(data) {
  return axios({
    url: api.userImportConfirm,
    method: 'post',
    data
  })
}

/**
 * 导出人员
 * @param {*} params
 */
export function exportUsers(params) {
  return axios({
    url: api.userExport,
    method: 'get',
    params,
    responseType: 'arraybuffer'
  })
}

/**
 * 排序人员
 * @param {*} params
 */
export function sortUser(data) {
  return axios({
    url: api.userSort,
    method: 'put',
    data
  })
}

/**
 * 移动人员
 * @param {*} params
 */
export function moveUsers(data) {
  return axios({
    url: api.userMove,
    method: 'put',
    data
  })
}

/**
 * 邮箱、手机号、hid唯一性校验
 */
export function userUnique(params) {
  return axios({
    url: api.userUnique,
    params
  })
}


/**
 * 人员可见 App
 */
export function readUserApps(params) {
  return axios({
    url: api.userAccess,
    params
  })
}
